package com.qfedu.job;

import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 创建 Quzrtz 任务：
 *    1，创建一个类实现 quartz提供的 Job 接口。
 *    2. 实现 Job 接口定义的方法，定义任务逻辑。
 */
public class MyJob implements Job {

    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        // 执行任务的逻辑
        // 通过execute方法的JobExecutionContext参数，可以获取到触发器、JobDetail绑定的参数。
        // 1.获取trigger中传递的参数
        JobDataMap jobDataMap1 = jobExecutionContext.getTrigger().getJobDataMap();
        String value1 = (String) jobDataMap1.get("key1");

        //2.获取jobDetail中传递的参数
        JobDataMap jobDataMap2 = jobExecutionContext.getJobDetail().getJobDataMap();
        String value2 = (String) jobDataMap2.get("key2");

        String time = sdf.format(new Date());
//        System.out.println("任务执行了：~~~~~~" + time);
        System.out.println("任务执行了：~~~~~~" + time + "\t" + value1 + "\t" + value2);
    }
}
